End-of-show content display trigger

ABSTRACT

Example embodiments provide a system and method for dynamically triggering display of recommendations during an end-of-show period. A digital receiver identifies an end-of-show period for a piece of digital content. The end-of-show period indicates a portion at an end of the piece of digital content during which display of recommendations can be triggered. The digital receiver monitors for a motion indication signal from a remote control device. In response to both playback of the piece of digital content being within the end-of-show period and a determination that the motion indication signal is received, the digital receiver causes immediate display of one or more recommendations of further digital content.

FIELD

The present disclosure generally relates to machines configured to thetechnical field of special-purpose machines that facilitate generatingand displaying content including computerized variants of suchspecial-purpose machines and improvements to such variants, and to thetechnologies by which such special-purpose machines become improvedcompared to other special-purpose machines that trigger display ofcontent during a particular timeframe.

BACKGROUND

Conventionally, recommendations are shown to a viewer at the end of ashow (e.g., television show, end of a movie, or end other types ofviewable programs). This is usually done to provide the viewer withsuggestions of new shows (e.g., from a video-on-demand catalog, from theuser's watch list), to allow an operator to promote channels (e.g.,suggest shows from a particular channel provider), or simply to improvea viewing experience for the view by providing additional or easy waysto discover more content.

An ideal time to show these recommendations may be during endingcredits. Typically, the broadcast or streaming signal includes a triggerthat marks a beginning of the ending credits. However, the inclusion ofthe marker is quite complicated and involves manually marking where thecredits begin along with requiring hardware and software to encode thisinto the broadcast or streaming signal. Additionally, low-level softwareis required in a receiver device to capture the marker and pass it upfrom firmware, through middleware, to a user interface. Non-trivial codeneeds to be developed both at a headend and at multiple levels withinthe receiver device, which may require hardware changes. As such, someoperators do not want to take this approach, and instead, display therecommendations a fixed time before the scheduled end-of-show (e.g., oneminute before end-of-show).

BRIEF DESCRIPTION OF DRAWINGS

Various ones of the appended drawings merely illustrate exampleembodiments of the present invention and cannot be considered aslimiting its scope.

FIG. 1 is a diagram illustrating an example environment for triggeringdisplay of recommendations during an end-of-show period in accordancewith an example embodiment.

FIG. 2 is a block diagram illustrating an example embodiment ofcomponents within a digital receiver.

FIG. 3 is a flow diagram of an example method for triggering display ofrecommendations during an end-of-show period.

FIG. 4 is a flow diagram of an alternative method for triggering displayof recommendations during an end-of-show period.

FIG. 5 is a flow diagram of an example method for identifying theend-of-show period.

FIG. 6 is a diagrammatic representation of a machine in an example formof a computing system within which a set of instructions may be executedfor causing the machine to perform any one or more of the methodologiesdiscussed herein, according to an example embodiment.

DETAILED DESCRIPTION

The description that follows includes systems, methods, techniques,instruction sequences, and computing machine program products thatembody illustrative embodiments of the present inventive subject matter.In the following description, for purposes of explanation, numerousspecific details are set forth in order to provide an understanding ofvarious embodiments of the inventive subject matter. It will be evident,however, to those skilled in the art, that embodiments of the inventivesubject matter may be practiced without some or other of these specificdetails. In general, well-known instruction instances, protocols,structures, and techniques have not been shown in detail. Examplesmerely typify possible variations. Unless explicitly stated otherwise,structures (e.g., structural components, such as modules) are optionaland may be combined or subdivided, and operations (e.g., in a procedure,algorithm, or other function) may vary in sequence or be combined orsubdivided.

Example methods (e.g., algorithms) facilitate triggering display offurther content (e.g., recommendations) during an end-of-show period,and example systems (e.g., special-purpose machines) are configured tofacilitate triggering display of further content (e.g., recommendations)during the end-of-show period. In particular, example embodimentsprovide mechanisms and logic that identifies an end-of-show period for aparticular piece of digital content that is currently being displayed toa viewer, monitors for an environmental signal (e.g., motion indicationsignal from a remote control device, ambient lighting signal, ambientnoise signal), and triggers display of further content (e.g.,recommendations) at an appropriate time based on the environmentalsignal. As a result, one or more of the methodologies described hereinfacilitate solving the technical problem of displaying recommendationsor further content at a proper time during the end-of-show period.

In a specific example embodiment, mechanisms and logic are provided thatuses a particular percent completion of playback of the digital contentin combination with whether the motion indication signal is receivedfrom the remote control to determine when to trigger display of therecommendations. In example embodiments, display of the recommendationsis immediately triggered if the motion indication signal is detectedwithin the end-of-show period. The end-of-show period may comprise, forexample, a credits portion of the digital content or a portion near anend of the piece of digital content based on time or percentage (e.g.,last 2 minutes or last 3% of the piece of digital content). If no motionindication signal is detected, some embodiments may trigger display ofrecommendations closer to a very end of the currently playing digitalcontent (e.g., a predetermined time of 20 seconds from end of thedigital content or a predetermined percentage completion of 99%) or showno recommendations. Alternatively, recommendations may be displayedduring the end-of-show period (e.g., beginning at a particular percentcompletion, such as, at 97%) regardless of detecting the motionindication signal.

Use of percent completion allows for accommodating a piece of digitalcontent's length and type (also referred to as “content type”). Forexample, content types such as sitcoms, documentaries, and movies maygenerally display credits at a different percent completion. In exampleembodiments, heuristics based on length and content type can be used todetermine the particular percent completion where recommendations maybegin to be displayed for a particular piece of content. It is notedthat content type may refer to a category of programming (e.g.,television show, movie, or video) as well as subject matter (e.g.,genre). Using the determined percent completion, the end-of-show periodis identified, which spans from a time of the determined percentcompletion to an end of the digital content. In an alternativeembodiment, heuristics can be used to identify a particular time whenrecommendations may begin to be displayed—the particular time being thestart of the end-of-show period.

The motion indication signal typically indicates that the remote controlhas been picked up by a viewer. In particular, the most typical use caseis that the viewer picks up the remote control because the current showis ending. Picking up the remote control during the end-of-show periodis a strong sign that the viewer is looking for something else to watch.Alternatively, picking up the remote control during the end-of-showperiod may indicate that the user intends to turn off a viewing device.In both use cases, this is an ideal time to show recommendations inorder to keep the viewer engaged. As such, example embodiments triggerthe immediate display of recommendations in response to the motionindication signal being received during the end-of-show period.

With reference to FIG. 1, a diagram illustrating an example environment100 comprising a system for dynamically triggering display ofrecommendations during an end-of-show period is shown. In exampleembodiments, a digital receiver 102 of a user provides access to digitalcontent. In one embodiment, the digital receiver 102 is a set-top box.The digital receiver 102 is coupled to a viewing device 104 (e.g., atelevision or monitor) on which the user can view the digital content.In some embodiments, the digital receiver 102 may be combined with theviewing device 104 (e.g., a smart television).

The user accesses the digital content through the digital receiver 102using a remote control device 106. For example, the digital receiver 102is configured to receive commands with respect to the digital contentfrom the remote control device 106. In example embodiments, the commandsinclude instructions to fast forward, rewind, stop, record, and pausedigital content as well as to access an electronic program guide (EPG)and select digital content for viewing.

In example embodiments, the remote control device 106 comprises anaccelerometer or similar mechanism that detects motion of the remotecontrol device 106. The motion may be caused by a viewer picking up theremote control device 106, for example, to change the digital contentbeing displayed or to turn the digital receiver 102 and viewing device104 off. In response to detection of the motion, the remote controldevice 106 sends a motion indication signal to the digital receiver 102(e.g., via an application program interface (API), using Bluetooth, orusing WiFi or similar communication protocols).

If the motion indication signal is received while the currentlydisplaying digital content is in an end-of-show period, a display ofrecommendations on the viewing device 104 is immediately triggered. Morespecifically, the digital receiver 102 immediately transmits a signal tothe viewing device 104, which causes a display of recommendations (e.g.,a set of recommended digital content for future viewing). Therecommendations may be display in conjunction with (e.g., overlaid overor in a section of a viewable interface) credits of currently displayingdigital content. The recommendations may be obtained from a headend 108view a network 110 and comprise digital content provided by one or morecontent providers 112. The recommendations may also include content thatis stored at, or in association with, the digital receiver (e.g., by apersonal video recorder (PVR)).

Accordingly, the digital receiver 102 is configured to identify anend-of-show period for a currently displaying piece of digital contentand to monitor for the motion indication signal from the remote controldevice 106. Components and operations of the digital receiver 102 willbe discussed in more detail in connection with FIG. 2 below.

One or more portions of the network 110 may be an ad hoc network, anintranet, an extranet, a virtual private network (VPN), a local areanetwork (LAN), a wireless LAN (WLAN), a wide area network (WAN), awireless WAN (WWAN), a metropolitan area network (MAN), a portion of theInternet, a portion of the Public Switched Telephone Network (PSTN), acellular telephone network, a wireless network, a WiFi network, a WiMaxnetwork, another type of network, or a combination of two or more suchnetworks. Any one or more portions of the network 110 may communicateinformation via a transmission medium. As used herein, “transmissionmedium” refers to any intangible (e.g., transitory) medium that iscapable of communicating (e.g., transmitting) instructions for executionby a machine (e.g., by one or more processors of such a machine), andincludes digital or analog communication signals or other intangiblemedia to facilitate communication of such software.

It is noted that the environment 100 shown in FIG. 1 is merely anexample. For instance, not all components of the environment 100 may beshown. Additionally, some components of the environment 100 may becombined. For example, the digital receiver 102 may be embodied withinthe viewing device 104 to form a single device (e.g., a smarttelevision). Furthermore, operations discussed as occurring at thedigital receiver 102 may be performed at the headend 106 or the remotecontrol device 106.

Any of the systems or machines (e.g., databases, devices, servers) shownin FIG. 1 may be, include, or otherwise be implemented in aspecial-purpose (e.g., specialized or otherwise non-generic) computerthat has been modified (e.g., configured or programmed by software, suchas one or more software modules of an application, operating system,firmware, middleware, or other program) to perform one or more of thefunctions described herein for that system or machine. For example, aspecial-purpose computer system able to implement any one or more of themethodologies described herein is discussed below with respect to FIG.6, and such a special-purpose computer may accordingly be a means forperforming any one or more of the methodologies discussed herein. Withinthe technical field of such special-purpose computers, a special-purposecomputer that has been modified by the structures discussed herein toperform the functions discussed herein is technically improved comparedto other special-purpose computers that lack the structures discussedherein or are otherwise unable to perform the functions discussedherein. Accordingly, a special-purpose machine configured according tothe systems and methods discussed herein provides an improvement to thetechnology of similar special-purpose machines.

FIG. 2 is a block diagram illustrating an example embodiment of thedigital receiver 102. The digital receiver 102 is configured to identifyan end-of-show period for a piece of digital content and to determine ifand when to trigger display of recommendations to a viewer of the pieceof digital content. To enable these operations, the digital receiver 102comprises one or more storage devices 200 that include a contentanalysis module 202, a remote control module 204, a recommendationmodule 206, and a presentation module 208. In some embodiments, thestorage device 200 also includes one or more of a sound detection module210 and a light detection module 212.

Any one or more of the components (e.g., modules) described herein maybe implemented using hardware alone (e.g., one or more processors of amachine) or a combination of hardware and software. For example, anycomponent described herein may physically include an arrangement of oneor more of the processors or configure a processor (e.g., among one ormore processors of a machine) to perform the operations described hereinfor that module. Accordingly, different components described herein mayinclude and configure different arrangements of the processors atdifferent points in time or a single arrangement of the processors atdifferent points in time. Each component (e.g., module) described hereinis an example of a means for performing the operations described hereinfor that component. Moreover, any two or more of these components may becombined into a single component, and the functions described herein fora single component may be subdivided among multiple components.Furthermore, according to various example embodiments, componentsdescribed herein as being implemented within a single machine, database,or device may be distributed across multiple machines, databases, ordevices. For example, some of the components may be embodied within thedigital receiver 102 while others are embodied within the remote controldevice 106. The digital receiver 102 may comprise other components notpertinent to example embodiments that are not shown or discussed.

The content analysis module 202 analyzes the digital content to identifyan end-of-show period for the currently playing digital content. Inexample embodiments, the content analysis module 202 detects a contentlength and content type of the digital content (e.g., from metadata forthe digital content). Using the content length and content type, thecontent analysis module 202 accesses a heuristics data store 214 whichstores information regarding digital contents and their correspondinglengths and types. The content analysis module 202 uses information fromthe heuristics data store 214 for similar content lengths and contenttypes to identify a percent completion for the digital content whererecommendations should start to be presented (e.g., roughly coincidingwith a credits portion of the digital content). The identified percentcompletion corresponds to a start of an end-of-show period, whereby theend-of-show period spans from the identified percent completion to anend of the digital content.

In alternative embodiments, time can be used instead of percentcompletion. For example, if the digital content is a live broadcast andelectronic program guide (EPG) data is accessible, then the contentanalysis module 202 knows a time the digital content will end (asopposed to streaming recorded or on-demand content). Alternatively, themetadata for the digital content indicates a length of the digitalcontent. In these embodiments, the control analysis module 202 may use aparticular time (e.g., two minutes from end of digital content) as astart of the end-of-show period. In some embodiments, the particulartime is determined based on heuristics (e.g., by accessing data from theheuristics data store 214 for similar content).

In another alternative embodiment, image detection may be used by thecontent analysis module 202 to detect when credits are displayed. Forexample, if a threshold percent of a screen is black and/or includesscrolling text, then the control analysis module 202 determines that thecredits are being displayed. As a result, the digital content isdetermined to be in the end-of-show period. In a further embodiment, amachine learning module is configured to detect when credits aredisplayed.

The remote control module 204 monitors for a motion indication signalfrom the remote control device 106. In example embodiments, the remotecontrol module 204 is coupled to, or comprises, a sensor or interfacethat receives the motion indication signal. The motion indication signalmay be received, for example, via an API, Bluetooth, WiFi, or a similarcommunications protocol. The motion indication signal may be generatedby the remote control device 106 based on movement detected by anaccelerometer of the remote control device 106 (e.g., a user picking upthe remote control device 106) or be based on a selection of a button oricon on the remote control device (e.g., selection to change channel orview EPG). In response to detection of the motion indication signal, theremote control module 204 notifies the recommendation module 206 (e.g.,via a signal or switch).

The recommendation module 206 determines whether or when to triggerdisplay of recommendations. In example embodiments, the recommendationmodule 206 receives an indication of the end-of-show period from thecontent analysis module 202. The recommendation module 206 then detectswhen playback of the digital content has reached the end-of-show period(e.g., transgresses a start of the end-of-show period). Therecommendation module 206 checks for a notification from the remotecontrol module 204 that indicates that the motion indication signal isreceived. This check may occur once the end-of-show period is reached inaccordance with example embodiments. Based on both playback of the pieceof content being within the end-of-show period and the notification thatthe motion indication signal is received, the recommendation moduleimmediately causing display of one or more recommendations of content.The one or more recommendations may be displayed, for example, overlaidover a portion of the currently playing digital content, as a pop-upuser interface, or in a portion of an interface displaying the digitalcontent (e.g., the digital content may be reduced in size and a portionused to display the recommendations).

In some embodiments, if no motion indication signal is received, therecommendation module 206 may still trigger display of recommendations,but at a later (delayed) time than if the motion indication signal isreceived. For example, the recommendation module 206 may trigger thedisplay of recommendations at a predetermined percentage of completionof the playback of the piece of content that is different than thepercent completion used to identify the end-of-show period. Thepredetermined percentage of completion occurs towards an end of theend-of-show period. For example, the percent completion used to identifythe end-of-show period may be at 96% while the predetermined percentageof completion (that triggers display of recommendations in the absenceof the motion indication signal) is at 99%. In another example, therecommendation module 206 may trigger the display of recommendation at apredetermined time of the playback of the piece of content, whereby thepredetermined time is near the end of the end-of-show period (e.g., last20 seconds of the show).

In example embodiments, the recommendation module 206 also retrieves orgenerates the recommendations (e.g., from or based on content in storageof the digital receiver 102, the headend 108, or a coupled recordingdevice, such as a DVR). The recommendations are provided along withinstructions to the presentation module 208. The presentation module208, in example embodiments, formats the recommendations and transmitsthe recommendations to the viewing device 104 for display.

The sound detection module 210 analyzes sound signals to determine if achange in ambient noise level transgress a predetermined noisethreshold. In particular, the sound detection module 210 receives asound signal that is detected by one or more microphones 216. In someinstances, an increase in ambient noise level is associated with anend-of-show period as one or more viewers start making noise because amain portion of the digital content (e.g., portion before the credits)is finished. In some embodiments, the sound detection module 210considers length of the ambient noise in its analysis. For example, ifthe ambient noise is less than three seconds, the sound detection module210 determines that it is not a significant change in ambient noiselevel and likely just background or inadvertent noise (e.g., doorbellringing, viewer sneezing). If the ambient noise level transgresses thepredetermined noise threshold, the sound detection module 210 notifies(e.g., sends a signal, triggers a switch) the recommendation module 206.

In some embodiments, the recommendation module 206 takes ambient noiselevel into consideration in determining if and when to displayrecommendations. For instant, one example embodiment may requireplayback be in the end-of-show period, receipt of the motion indicationsignal, and a change in ambient noise level that transgresses thepredetermined noise threshold to trigger immediate display ofrecommendations. In alternative embodiments, the recommendation module206 may trigger display of recommendation in response playback being inthe end-of-show period and either receipt of the motion indicationsignal or the ambient noise level transgressing the predetermined noisethreshold.

The light detection module 212 analyzes light signals to determine if achange in ambient lighting level transgress a predetermined lightingthreshold. In particular, the light detection module 212 receives alight signal that is detected by one or more light sensors 218. In someinstances, an increase in ambient lighting level is associated with anend-of-show period as a viewer turns on lights because the main portionof the digital content (e.g., portion before the credits) is finished.If the ambient lighting level transgresses the predetermined lightingthreshold, the light detection module 212 notifies (e.g., sends asignal, triggers a switch) the recommendation module 206.

In some embodiments, the recommendation module 206 takes ambientlighting level into consideration in determining if and when to displayrecommendations. For instant, one example embodiment may requireplayback be in the end-of-show period, receipt of the motion indicationsignal, and a change in ambient lighting level that transgresses thepredetermined lighting threshold to trigger immediate display ofrecommendations. In alternative embodiments, the recommendation module206 may trigger display of recommendation in response playback being inthe end-of-show period and either receipt of the motion indicationsignal or the ambient lighting level transgressing the predeterminedlighting threshold.

FIG. 3 is a flow diagram of an example method 300 for triggering displayof recommendations during an end-of-show period. In example embodiments,the method 300 is performed in part or in whole by components of thedigital receiver 102. Accordingly, the method 300 is described by way ofexample with reference to the digital receiver 102. However, it shall beappreciated that at least some of the operations of the method 300 maybe deployed on various other hardware configurations or be performed bysimilar components residing elsewhere in the environment 100 such as atthe remote control device 106. Therefore, the method 300 is not intendedto be limited to the digital receiver 102.

In operation 302, an end-of-show period is identified for a piece ofdigital content. The end-of-show period is determined by the contentanalysis module 202. In some embodiments, content type and length alongwith heuristics is used to identify the end-of-show period for the pieceof digital content. In other embodiments, metadata or EPG data is usedto determine the end-of-show period. Further still, in otherembodiments, image recognition may be used to analyze the digitalcontent to identify the end-of-show period (e.g., detect when creditsare presented). An example method for identifying the end-of-show periodwill be discussed in more detail in connection with FIG. 5 below.

In operation 304, the end-of-show period being reached is detected bythe receiver device 102. In example embodiments, the recommendationmodule 206 detects when playback of the digital content has reached theend-of-show period (e.g., transgresses a start of the end-of-showperiod). Accordingly, the recommendation module 206 receivesnotification of the end-of-show period that is identified in operation302 and uses that notification to identify the end-of-show period duringplayback.

In operation 306, a determination is made as to whether a motionindication signal has been received from the remote control device 102.In example embodiments, the remote control module 204 monitors for themotion indication signal from the remote control device 106. In exampleembodiments, the remote control module 204 is coupled to, or comprises,a sensor or interface that receives the motion indication signal fromthe remote control device 102.

If the motion indication signal is received during the end-of-showperiod in operation 306, the recommendations are immediately caused tobe displayed in operation 308. In example embodiments, therecommendation module 206 triggers the display of the recommendation byretrieving or generating the recommendations and providing therecommendations along with instructions to display to the presentationmodule 208. The presentation module 208, in example embodiments, formatsthe recommendations and transmits the recommendations to the viewingdevice for display.

If in operation 306, a motion indication signal is not received, therecommendation module 206 may still trigger display of recommendations,but at a later time, in operation 310. For example, the recommendationmodule 206 may trigger the display of recommendations at a predeterminedpercentage of completion of the playback of the piece of content (e.g.,at 99%) that is different than the percent completion used to identifythe end-of-show period (e.g., at 97%). The predetermined percentage ofcompletion occurs near an end of the end-of-show period. In anotherexample, the recommendation module 206 may trigger the display ofrecommendation at a predetermined time of the playback of the piece ofcontent, whereby the predetermined time is near the end of theend-of-show period (e.g., last 20 seconds of the show). In someembodiments, operation 310 is optional or removed resulting in norecommendation being presented if the motion indication signal is notreceived.

FIG. 4 is a flow diagram of an alternative method 400 for triggeringdisplay of recommendations during the end-of-show period. The method 400takes into consideration change in ambient noise and lighting levels indetermining when or whether to display recommendations. In exampleembodiments, the method 400 is performed in part or in whole bycomponents of the digital receiver 102. Accordingly, the method 400 isdescribed by way of example with reference to the digital receiver 102.However, it shall be appreciated that at least some of the operations ofthe method 400 may be deployed on various other hardware configurationsor be performed by similar components residing elsewhere in theenvironment 100 such as at the remote control device 106. Therefore, themethod 400 is not intended to be limited to the digital receiver 102.

In operation 402, the end-of-show period is identified by the contentanalysis module 202. An example method for identifying the end-of-showperiod will be discussed in more detail in connection with FIG. 5 below.

In operation 404, the end-of-show period being reached is detected bythe receiver device 102. Accordingly, the recommendation module 206receives notification of the end-of-show period that is identified inoperation 402 and uses that notification to identify when playback ofthe digital content has reaches the end-of-show period.

In operation 406, a determination is made as to whether the motionindication signal has been received from the remote control device 102.In example embodiments, the remote control module 204 monitors for themotion indication signal from the remote control device 106. In exampleembodiments, the remote control module 204 is coupled to, or comprises,a sensor or interface that receives the motion indication signal fromthe remote control device 102.

If the motion indication signal is received in operation 406, then adetermination is made in operation 408 as to whether an ambient noise orlighting level has changed enough to transgress a correspondingpredetermined threshold. In particular, the sound detection module 210analyzes sound signals to determine if a change in ambient noise leveltransgress the predetermined noise threshold, while a light detectionmodule 212 analyzes light signals to determine if a change in ambientlighting level transgress the predetermined lighting threshold.

In response to the ambient noise or lighting level transgressing thecorresponding predetermined threshold, the recommendations areimmediately caused to be displayed in operation 410. In exampleembodiments, the recommendation module 206 triggers the display of therecommendation by obtaining or generating the recommendations andproviding the recommendations along with instructions to display to thepresentation module 208. The presentation module 208, in exampleembodiments, formats the recommendations and transmits therecommendations to the viewing device for display. In an alternativeembodiment, both the ambient noise level and the ambient lighting levelneeds to transgress their corresponding predetermined thresholds toimmediate trigger display of the recommendations.

If a motion indication signal is not received (in operation 406) and/ora noise or lighting level threshold not transgressed (in operation 408),the recommendation module 206 may still trigger display ofrecommendations, but at a later time, in operation 412. For example, therecommendation module 206 may trigger the display of recommendations ata predetermined percentage of completion of the playback of the piece ofcontent (e.g., 99%) that is different than the percent completion usedto identify the end-of-show period (e.g., 97%). The predeterminedpercentage of completion occurs towards an end of the end-of-showperiod. In another example, the recommendation module 206 may triggerthe display of recommendation at a predetermined time of the playback ofthe piece of content, whereby the predetermined time is near the end ofthe end-of-show period (e.g., last 20 seconds of the show). In someembodiments, operation 412 is optional or removed resulting in norecommendation being presented if a motion indication signal is notreceived and/or the noise or lighting level threshold not transgressed.

In alternative embodiments, operation 406 may be optional or removedfrom the method 400. In these embodiments, immediate display ofrecommendations is triggered when the ambient noise or lighting leveltransgresses the corresponding predetermined threshold during theend-of-show period regardless of whether the motion indication signal isreceived from the remote control device 102.

FIG. 5 is a flow diagram of an example method 500 for identifying theend-of-show period. In example embodiments, the method 500 is performedin part or in whole by components of the digital receiver 102.Accordingly, the method 500 is described by way of example withreference to the digital receiver 102. However, it shall be appreciatedthat at least some of the operations of the method 500 may be deployedon various other hardware configurations or be performed by similarcomponents residing elsewhere in the environment 100 such as at theremote control device 106. Therefore, the method 500 is not intended tobe limited to the digital receiver 102.

In operation 502, a length of the digital content is identified while inoperation 504, the content type is identified. In example embodiments,the content analysis module 202 detects a content length and contenttype of the digital content, for example, from metadata for the digitalcontent. Alternatively, if the digital content is a live broadcast andelectronic program guide (EPG) data is accessible, then the contentanalysis module 202 accesses the EPG data to identify a length of thedigital content, a type of digital content, and/or a time the digitalcontent will end.

In operation 506, related data is accessed by the content analysismodule 202. In example embodiments, the content analysis module 202accesses data from the heuristics data store 214. For example, using thecontent length and content type, the content analysis module 202accesses the heuristics data store 214 which stores informationregarding digital contents and their corresponding lengths and types.

In operation 508, heuristics processing is applied to identify theend-of-show period. The content analysis module 202 uses informationfrom the heuristics data store 214 for similar content lengths and typesto identify a percent completion for the digital content whererecommendations may start to be presented (e.g., the start of theend-of-show period). Alternatively, the content analysis module 202 usesthe information from the heuristics data store 214 for similar contentlengths and types to identify a particular time as the start of theend-of-show period.

FIG. 6 is a block diagram illustrating components of a machine 600,according to some example embodiments, able to read instructions 624from a machine-readable medium 622 (e.g., a non-transitorymachine-readable medium, a machine-readable storage medium, acomputer-readable storage medium, or any suitable combination thereof)and perform any one or more of the methodologies discussed herein, inwhole or in part. Specifically, FIG. 6 shows the machine 600 in theexample form of a computer device (e.g., a computer) within which theinstructions 624 (e.g., software, a program, an application, an applet,an app, or other executable code) for causing the machine 600 to performany one or more of the methodologies discussed herein may be executed,in whole or in part.

For example, the instructions 624 may cause the machine 600 to executethe flow diagrams of FIGS. 3, 4, and 5. The instructions 624 cantransform the general, non-programmed machine 600 into a particularmachine (e.g., specially configured machine) programmed to carry out thedescribed and illustrated functions in the manner described.

In alternative embodiments, the machine 600 operates as a standalonedevice or may be connected (e.g., networked) to other machines. Themachine 600 may be a server computer, a client computer, a personalcomputer (PC), a tablet computer, a laptop computer, a netbook, aset-top box (e.g. STB), a personal digital assistant (PDA), a cellulartelephone, a smartphone, a web appliance, a network router, a networkswitch, a network bridge, a power adapter, or any machine 600 capable ofexecuting the instructions 624, sequentially or otherwise, that specifyactions to be taken by that machine 600. Further, while only a singlemachine 600 is illustrated, the term “machine” shall also be taken toinclude a collection of machines that individually or jointly executethe instructions 624 to perform any one or more of the methodologiesdiscussed herein.

The machine 600 includes a processor 602 (e.g., a central processingunit (CPU), a graphics processing unit (GPU), a digital signal processor(DSP), an application specific integrated circuit (ASIC), aradio-frequency integrated circuit (RFIC), or any suitable combinationthereof), a main memory 604, and a static memory 606, which areconfigured to communicate with each other via a bus 608. The processor602 may contain microcircuits that are configurable, temporarily orpermanently, by some or all of the instructions 624 such that theprocessor 602 is configurable to perform any one or more of themethodologies described herein, in whole or in part. For example, a setof one or more microcircuits of the processor 602 may be configurable toexecute one or more modules (e.g., software modules) described herein.

The machine 600 may further include a graphics display 610 (e.g., aplasma display panel (PDP), a light emitting diode (LED) display, aliquid crystal display (LCD), a projector, a cathode ray tube (CRT), orany other display capable of displaying graphics or video). The machine600 may also include an alphanumeric input device 612 (e.g., a keyboardor keypad), a cursor control device 614 (e.g., a mouse, a touchpad, atrackball, a joystick, a motion sensor, an eye tracking device, or otherpointing instrument), a storage unit 616, a signal generation device 618(e.g., a sound card, an amplifier, a speaker, a headphone jack, or anysuitable combination thereof), and a network interface device 620.

The storage unit 616 includes the machine-readable medium 622 (e.g., atangible machine-readable storage medium) on which are stored theinstructions 624 embodying any one or more of the methodologies orfunctions described herein. The instructions 624 may also reside,completely or at least partially, within the main memory 604, within theprocessor 602 (e.g., within the processor's cache memory), or both,before or during execution thereof by the machine 600. Accordingly, themain memory 604 and the processor 602 may be considered machine-readablemedia 622 (e.g., tangible and non-transitory machine-readable media).

In some example embodiments, the machine 600 may be a portable computingdevice and have one or more additional input components (e.g., sensorsor gauges). Examples of such input components include an image inputcomponent (e.g., one or more cameras), an audio input component (e.g., amicrophone), a direction input component (e.g., a compass), a locationinput component (e.g., a global positioning system (GPS) receiver), anorientation component (e.g., a gyroscope), a motion detection component(e.g., one or more accelerometers), an altitude detection component(e.g., an altimeter), and a gas detection component (e.g., a gassensor). Inputs harvested by any one or more of these input componentsmay be accessible and available for use by any of the modules describedherein.

As used herein, the term “memory” refers to a machine-readable medium622 able to store data temporarily or permanently and may be taken toinclude, but not be limited to, random-access memory (RAM), read-onlymemory (ROM), buffer memory, flash memory, and cache memory. While themachine-readable medium 622 is shown, in an example embodiment, to be asingle medium, the term “machine-readable medium” should be taken toinclude a single medium or multiple media (e.g., a centralized ordistributed database, or associated caches and servers) able to storeinstructions 624. The term “machine-readable medium” shall also be takento include any medium, or combination of multiple media, that is capableof storing instructions 624 for execution by a machine (e.g., machine600), such that the instructions 624, when executed by one or moreprocessors of the machine 600 (e.g., processor 602), cause the machine600 to perform any one or more of the methodologies described herein.Accordingly, a “machine-readable medium” refers to a single storageapparatus or device, as well as cloud-based storage systems or storagenetworks that include multiple storage apparatus or devices. The term“machine-readable medium” shall accordingly be taken to include, but notbe limited to, one or more data repositories in the form of asolid-state memory, an optical medium, a magnetic medium, or anysuitable combination thereof. In some embodiments, a “machine-readablemedium” may also be referred to as a “machine-readable storage device”or a “hardware storage device.”

Furthermore, the machine-readable medium 622 is non-transitory in thatit does not embody a propagating or transitory signal. However, labelingthe machine-readable medium 622 as “non-transitory” should not beconstrued to mean that the medium is incapable of movement—the mediumshould be considered as being transportable from one physical locationto another. Additionally, since the machine-readable medium 622 istangible, the medium may be considered to be a machine-readable storagedevice.

Furthermore, the machine-readable medium 622 does not comprise anytransitory signals. In some example embodiments, the instructions 624for execution by the machine 600 may be communicated by a carriermedium. Examples of such a carrier medium include a storage medium(e.g., a non-transitory machine-readable storage medium, such as asolid-state memory, being physically moved from one place to anotherplace) and a transient medium (e.g., a propagating signal thatcommunicates the instructions 624)

The instructions 624 may further be transmitted or received over acommunications network 626 using a transmission medium via the networkinterface device 620 and utilizing any one of a number of well-knowntransfer protocols (e.g., HTTP). Examples of communication networks 626include a local area network (LAN), a wide area network (WAN), theInternet, mobile telephone networks, plain old telephone service (POTS)networks, and wireless data networks (e.g., WiFi, LTE, and WiMAXnetworks). The term “transmission medium” shall be taken to include anyintangible medium that is capable of storing, encoding, or carryinginstructions 624 for execution by the machine 600, and includes digitalor analog communications signals or other intangible medium tofacilitate communication of such software.

Example 1 is a method for triggering display of recommendations duringan end-of-show period. The method comprises identifying an end-of-showperiod for a piece of digital content, whereby the end-of-show periodindicates a portion at an end of the piece of digital content duringwhich display of recommendations can be triggered; monitoring for amotion indication signal from a remote control device; and, in responseto both playback of the piece of digital content being within theend-of-show period and a determination that the motion indication signalis received, immediately causing display of one or more recommendationsof further digital content.

In example 2, the subject matter of example 1 can optionally includereceiving the motion indication signal from the remote control device,wherein the motion indication signal indicates movement of the remotecontrol device.

In example 3, the subject matter of examples 1-2 can optionally includereceiving the motion indication signal from the remote control device,wherein the motion indication signal indicates a selection of a buttonon the remote control device.

In example 4, the subject matter of examples 1-3 can optionally includedetecting, using one or more light sensors, an increase in ambientlighting and determining that a change in an ambient lighting leveltransgresses a predetermined lighting threshold, wherein the immediatelycausing display of the one or more recommendations of further digitalcontent is based on the change in the ambient lighting leveltransgressing the predetermined lighting threshold in combination withthe playback of the piece of digital content being within theend-of-show period and the determination that the motion indicationsignal is received.

In example 5, the subject matter of examples 1-4 can optionally includedetecting, using one or more sound sensors, an increase in ambient noiseand determining that a change in an ambient noise level transgresses apredetermined noise threshold, wherein the immediately causing displayof the one or more recommendations of further digital content is basedon the change in the ambient noise level transgressing the predeterminednoise threshold in combination with the playback of the piece of digitalcontent being within the end-of-show period and the determination thatthe motion indication signal is received.

In example 6, the subject matter of examples 1-5 can optionally include,in response to both the playback of the piece of digital content beingwithin the end-of-show period and a determination that the motionindication signal is not received, causing display of the one or morerecommendations of further digital content at a predetermined percentageof completion of the playback of the piece of digital content, whereinthe predetermined percentage of completion occurs near an end of theend-of-show period.

In example 7, the subject matter of examples 1-6 can optionally include,in response to both playback of the piece of digital content beingwithin the end-of-show period and a determination that the motionindication signal is not received, causing display of the one or morerecommendations of further digital content at a predetermined timeduring the playback of the piece of digital content, wherein thepredetermined time is near an end of the end-of-show period.

In example 8, the subject matter of examples 1-7 can optionally includeidentifying a length of the piece of digital content, identifying acontent type for the piece of digital content, and applying heuristics,based on the length and content type, to identify the end-of-showperiod.

In example 9, the subject matter of examples 1-8 can optionally includewherein the identifying the end-of-show period for the piece of digitalcontent comprises identifying a particular percent completion ofplayback for the piece of digital content, the end of show periodspanning a timeframe from the particular percent completion of playbackof the piece of digital content to an end of the piece of digitalcontent.

In example 10, the subject matter of examples 1-9 can optionally includewherein the identifying the end-of-show period for the piece of digitalcontent comprises identifying a particular time of playback based onelectronic program guide data or metadata, the end of show periodspanning a timeframe from the particular time of playback of the pieceof digital content to an end of the piece of digital content.

Example 11 is a hardware storage device storing instructions which, whenexecuted by the at least one processor of a machine, cause the machineto perform operations. The operations comprise identifying anend-of-show period for a piece of digital content, whereby theend-of-show period indicates a portion at an end of the piece of digitalcontent during which display of recommendations can be triggered;monitoring for a motion indication signal from a remote control device;and, in response to both playback of the piece of digital content beingwithin the end-of-show period and a determination that the motionindication signal is received, immediately causing display of one ormore recommendations of further digital content.

In example 12, the subject matter of example 11 can optionally includedetecting, using one or more light sensors, an increase in ambientlighting, and determining that a change in an ambient lighting leveltransgresses a predetermined lighting threshold, wherein the immediatelycausing display of one or more recommendations of further digitalcontent is based on the change in the ambient lighting leveltransgressing the predetermined lighting threshold in combination withthe playback of the piece of digital content being within theend-of-show period and the determination that the motion indicationsignal is received.

In example 13, the subject matter of examples 11-12 can optionallyinclude detecting, using one or more sound sensors, an increase inambient noise, and determining that a change in an ambient noise leveltransgresses a predetermined noise threshold, wherein the immediatelycausing display of one or more recommendations of further digitalcontent is further based on the change in the ambient noise leveltransgressing the predetermined noise threshold in combination with theplayback of the piece of digital content being within the end-of-showperiod and the determination that the motion indication signal isreceived

In example 14, the subject matter of examples 11-13 can optionallyinclude, in response to both the playback of the piece of digitalcontent being within the end-of-show period and a determination that themotion indication signal is not received, causing display of the one ormore recommendations of further digital content at a predeterminedpercentage of completion of the playback of the piece of digitalcontent, the predetermined percentage of completion occurring near anend of the end-of-show period.

In example 15, the subject matter of examples 11-14 can optionallyinclude in response to both playback of the piece of digital contentbeing within the end-of-show period and a determination that the motionindication signal is not received, causing display of the one or morerecommendations of further digital content at a predetermined timeduring the playback of the piece of digital content, the predeterminedtime being near an end of the end-of-show period.

In example 16, the subject matter of examples 11-15 can optionallyinclude wherein the identifying the end-of-show period for the piece ofdigital content comprises identifying a length of the piece of digitalcontent, identifying a content type for the piece of digital content,and applying heuristics, based on the length and content type, toidentify the end-of-show period.

Example 17 is a system for triggering display of recommendations duringan end-of-show period. The system includes one or more processorsconfigured to perform operations comprising identifying an end-of-showperiod for a piece of digital content, the end-of-show period indicatinga portion at an end of the piece of digital content during which displayof recommendations can be triggered; monitoring for a motion indicationsignal from a remote control device; and, in response to both playbackof the piece of digital content being within the end-of-show period anda determination that the motion indication signal is received,immediately causing display of one or more recommendations of furtherdigital content.

In example 18, the subject matter of example 17 can optionally includewherein the operations further comprise identifying a length of thepiece of digital content, identifying a content type for the piece ofdigital content, and applying heuristics, based on the length andcontent type, to identify the end-of-show period.

In example 19, the subject matter of examples 17-18 can optionallyinclude wherein the identifying the end-of-show period for the piece ofdigital content comprises identifying a particular percent completion ofplayback for the piece of digital content, the end of show periodspanning a timeframe from the particular percent completion of playbackof the piece of digital content to an end of the piece of digitalcontent.

In example 20, the subject matter of examples 17-19 can optionallyinclude wherein the identifying the end-of-show period for the piece ofdigital content comprises identifying a particular time of playbackbased on electronic program guide data or metadata, the end of showperiod spanning a timeframe from the particular time of playback of thepiece of digital content to an end of the piece of digital content.

In example 21, the subject matter of examples 17-20 can optionallyinclude wherein the end-of-show period comprises a credits portion ofthe piece of digital content.

Throughout this specification, plural instances may implementcomponents, operations, or structures described as a single instance.Although individual operations of one or more methods are illustratedand described as separate operations, one or more of the individualoperations may be performed concurrently, and nothing requires that theoperations be performed in the order illustrated. Structures andfunctionality presented as separate components in example configurationsmay be implemented as a combined structure or component. Similarly,structures and functionality presented as a single component may beimplemented as separate components. These and other variations,modifications, additions, and improvements fall within the scope of thesubject matter herein.

Certain embodiments are described herein as including logic or a numberof components, modules, or mechanisms. Modules may constitute eithersoftware modules (e.g., code embodied on a machine-readable medium 622or in a transmission signal) or hardware modules. A “hardware module” isa tangible unit capable of performing certain operations and may beconfigured or arranged in a certain physical manner. In various exampleembodiments, one or more computer systems (e.g., a standalone computersystem, a client computer system, or a server computer system) or one ormore hardware modules of a computer system (e.g., a processor 602 or agroup of processors 602) may be configured by software (e.g., anapplication or application portion) as a hardware module that operatesto perform certain operations as described herein.

In some embodiments, a hardware module may be implemented mechanically,electronically, or any suitable combination thereof. For example, ahardware module may include dedicated circuitry or logic that ispermanently configured to perform certain operations. For example, ahardware module may be a special-purpose processor, such as afield-programmable gate array (FPGA) or an ASIC. A hardware module mayalso include programmable logic or circuitry that is temporarilyconfigured by software to perform certain operations. For example, ahardware module may include software encompassed within ageneral-purpose processor or other programmable processor. It will beappreciated that the decision to implement a hardware modulemechanically, in dedicated and permanently configured circuitry, or intemporarily configured circuitry (e.g., configured by software) may bedriven by cost and time considerations.

Accordingly, the phrase “hardware module” should be understood toencompass a tangible entity, be that an entity that is physicallyconstructed, permanently configured (e.g., hardwired), or temporarilyconfigured (e.g., programmed) to operate in a certain manner or toperform certain operations described herein. As used herein,“hardware-implemented module” refers to a hardware module. Consideringembodiments in which hardware modules are temporarily configured (e.g.,programmed), each of the hardware modules need not be configured orinstantiated at any one instance in time. For example, where a hardwaremodule comprises a general-purpose processor configured by software tobecome a special-purpose processor, the general-purpose processor may beconfigured as respectively different special-purpose processors (e.g.,comprising different hardware modules) at different times. Software mayaccordingly configure a processor, for example, to constitute aparticular hardware module at one instance of time and to constitute adifferent hardware module at a different instance of time.

The various operations of example methods described herein may beperformed, at least partially, by one or more processors that aretemporarily configured (e.g., by software) or permanently configured toperform the relevant operations. Whether temporarily or permanentlyconfigured, such processors may constitute processor-implemented modulesthat operate to perform one or more operations or functions describedherein. As used herein, “processor-implemented module” refers to ahardware module implemented using one or more processors.

Similarly, the methods described herein may be at least partiallyprocessor-implemented, a processor being an example of hardware. Forexample, at least some of the operations of a method may be performed byone or more processors or processor-implemented modules.

Some portions of the subject matter discussed herein may be presented interms of algorithms or symbolic representations of operations on datastored as bits or binary digital signals within a machine memory (e.g.,a computer memory). Such algorithms or symbolic representations areexamples of techniques used by those of ordinary skill in the dataprocessing arts to convey the substance of their work to others skilledin the art. As used herein, an “algorithm” is a self-consistent sequenceof operations or similar processing leading to a desired result. In thiscontext, algorithms and operations involve physical manipulation ofphysical quantities. Typically, but not necessarily, such quantities maytake the form of electrical, magnetic, or optical signals capable ofbeing stored, accessed, transferred, combined, compared, or otherwisemanipulated by a machine. It is convenient at times, principally forreasons of common usage, to refer to such signals using words such as“data,” “content,” “bits,” “values,” “elements,” “symbols,”“characters,” “terms,” “numbers,” “numerals,” or the like. These words,however, are merely convenient labels and are to be associated withappropriate physical quantities.

Unless specifically stated otherwise, discussions herein using wordssuch as “processing,” “computing,” “calculating,” “determining,”“presenting,” “displaying,” or the like may refer to actions orprocesses of a machine (e.g., a computer) that manipulates or transformsdata represented as physical (e.g., electronic, magnetic, or optical)quantities within one or more memories (e.g., volatile memory,non-volatile memory, or any suitable combination thereof), registers, orother machine components that receive, store, transmit, or displayinformation. Furthermore, unless specifically stated otherwise, theterms “a” or “an” are herein used, as is common in patent documents, toinclude one or more than one instance. Finally, as used herein, theconjunction “or” refers to a non-exclusive “or,” unless specificallystated otherwise.

Although an overview of the inventive subject matter has been describedwith reference to specific example embodiments, various modificationsand changes may be made to these embodiments without departing from thebroader scope of embodiments of the present invention. For example,various embodiments or features thereof may be mixed and matched or madeoptional by a person of ordinary skill in the art. Such embodiments ofthe inventive subject matter may be referred to herein, individually orcollectively, by the term “invention” merely for convenience and withoutintending to voluntarily limit the scope of this application to anysingle invention or inventive concept if more than one is, in fact,disclosed.

The embodiments illustrated herein are believed to be described insufficient detail to enable those skilled in the art to practice theteachings disclosed. Other embodiments may be used and derivedtherefrom, such that structural and logical substitutions and changesmay be made without departing from the scope of this disclosure. TheDetailed Description, therefore, is not to be taken in a limiting sense,and the scope of various embodiments is defined only by the appendedclaims, along with the full range of equivalents to which such claimsare entitled.

Moreover, plural instances may be provided for resources, operations, orstructures described herein as a single instance. Additionally,boundaries between various resources, operations, modules, engines, anddata stores are somewhat arbitrary, and particular operations areillustrated in a context of specific illustrative configurations. Otherallocations of functionality are envisioned and may fall within a scopeof various embodiments of the present invention. In general, structuresand functionality presented as separate resources in the exampleconfigurations may be implemented as a combined structure or resource.Similarly, structures and functionality presented as a single resourcemay be implemented as separate resources. These and other variations,modifications, additions, and improvements fall within a scope ofembodiments of the present invention as represented by the appendedclaims. The specification and drawings are, accordingly, to be regardedin an illustrative rather than a restrictive sense.

1. A method comprising: identifying, by a digital receiver, anend-of-show period for a piece of digital content, the end-of-showperiod indicating a portion at an end of the piece of digital contentduring which display of recommendations can be triggered, monitoring, bya hardware processor of the digital receiver, for a signal indicating amovement of a remote control device; and in response to both playback ofthe piece of digital content being within the end-of-show period and adetermination that the signal indicating the movement of the remotecontrol device is received, immediately causing display of one or morerecommendations of further digital content.
 2. The method of claim 1,wherein the signal from the remote control device is generated by anaccelerometer.
 3. The method of claim 1, further comprising receiving anindication of a selection of a button on a remote control device.
 4. Themethod of claim 1, further comprising: detecting, using one or morelight sensors, an increase in ambient lighting; and determining that achange in an ambient lighting level transgresses a predeterminedlighting threshold, wherein the immediately causing display of the oneor more recommendations of further digital content is based on thechange in the ambient lighting level transgressing the predeterminedlighting threshold in combination with the playback of the piece ofdigital content being within the end-of-show period and thedetermination that the signal indicating the movement of the remotecontrol device is received.
 5. The method of claim 1, furthercomprising: detecting, using one or more sound sensors, an increase inambient noise; and determining that a change in an ambient noise leveltransgresses a predetermined noise threshold, wherein the immediatelycausing display of the one or more recommendations of further digitalcontent is based on the change in the ambient noise level transgressingthe predetermined noise threshold in combination with the playback ofthe piece of digital content being within the end-of-show period and thedetermination that the signal indicating the movement of the remotecontrol device is received.
 6. The method of claim 1, furthercomprising, in response to both the playback of the piece of digitalcontent being within the end-of-show period and a determination that thesignal indicating the movement of the remote control device is notreceived, causing display of the one or more recommendations of furtherdigital content at a predetermined percentage of completion of theplayback of the piece of digital content, the predetermined percentageof completion occurring near an end of the end-of-show period.
 7. Themethod of claim 1, further comprising, in response to both playback ofthe piece of digital content being within the end-of-show period and adetermination that the signal indicating the movement of the remotecontrol device is not received, causing display of the one or morerecommendations of further digital content at a predetermined timeduring the playback of the piece of digital content, the predeterminedtime occurring near an end of the end-of-show period.
 8. The method ofclaim 1, wherein the identifying the end-of-show period for the piece ofdigital content comprises: identifying a length of the piece of digitalcontent; identifying a content type for the piece of digital content;and applying heuristics, based on the length and content type, toidentify the end-of-show period.
 9. The method of claim 1, wherein theidentifying the end-of-show period for the piece of digital contentcomprises identifying a particular percent completion of playback forthe piece of digital content, the end of show period spanning atimeframe from the particular percent completion of playback of thepiece of digital content to an end of the piece of digital content. 10.The method of claim 1, wherein the identifying the end-of-show periodfor the piece of digital content comprises identifying a particular timeof playback based on electronic program guide data or metadata, the endof show period spanning a timeframe from the particular time of playbackof the piece of digital content to an end of the piece of digitalcontent.
 11. A hardware storage device storing instructions that, whenexecuted by one or more processors of a machine, cause the machine toperform operations comprising: identifying an end-of-show period for apiece of digital content, the end-of-show period indicating a portion atan end of the piece of digital content during which display ofrecommendations can be triggered; monitoring for a signal indicating amovement of a remote control device; and in response to both playback ofthe piece of digital content being within the end-of-show period and adetermination that the signal indicating the movement of the remotecontrol device is received, immediately causing display of one or morerecommendations of further digital content.
 12. The hardware storagedevice of claim 11, wherein the operations further comprise: detecting,using one or more light sensors, an increase in ambient lighting; anddetermining that a change in an ambient lighting level transgresses apredetermined lighting threshold, wherein the immediately causingdisplay of one or more recommendations of further digital content isbased on the change in the ambient lighting level transgressing thepredetermined lighting threshold in combination with the playback of thepiece of digital content being within the end-of-show period and thedetermination that the signal indicating the movement of the remotecontrol device is received.
 13. The hardware storage device of claim 11,wherein the operations further comprise: detecting, using one or moresound sensors, an increase in ambient noise; and determining that achange in an ambient noise level transgresses a predetermined noisethreshold, wherein the immediately causing display of one or morerecommendations of further digital content is further based on thechange in the ambient noise level transgressing the predetermined noisethreshold in combination with the playback of the piece of digitalcontent being within the end-of-show period and the determination thatthe signal indicating the movement of the remote control device isreceived.
 14. The hardware storage device of claim 11, wherein theoperations further comprise, in response to both the playback of thepiece of digital content being within the end-of-show period and adetermination that the signal indicating the movement of the remotecontrol device is not received, causing display of the one or morerecommendations of further digital content at a predetermined percentageof completion of the playback of the piece of digital content, thepredetermined percentage of completion occurring near an end of theend-of-show period.
 15. The hardware storage device of claim 11, whereinthe operations further comprise, in response to both playback of thepiece of digital content being within the end-of-show period and adetermination that the signal indicating the movement of the remotecontrol device is not received, causing display of the one or morerecommendations of further digital content at a predetermined timeduring the playback of the piece of digital content, the predeterminedtime occurring near an end of the end-of-show period.
 16. The hardwarestorage device of claim 11, wherein the identifying the end-of-showperiod for the piece of digital content comprises: identifying a lengthof the piece of digital content; identifying a content type for thepiece of digital content; and applying heuristics, based on the lengthand content type, to identify the end-of-show period.
 17. A systemcomprising: one or more hardware processors; and a storage devicestoring instructions that configure the one or more hardware processorsto perform operations comprising: identifying an end-of-show period fora piece of digital content, the end-of-show period indicating a portionat an end of the piece of digital content during which display ofrecommendations can be triggered; monitoring for a signal indicating amovement of a remote control device; and in response to both playback ofthe piece of digital content being within the end-of-show period and adetermination that the signal indicating the movement of the remotecontrol device is received, immediately causing display of one or morerecommendations of further digital content.
 18. The system of claim 17,wherein the identifying the end-of-show period for the piece of digitalcontent comprises: identifying a length of the piece of digital content;identifying a content type for the piece of digital content; andapplying heuristics, based on the length and content type, to identifythe end-of-show period.
 19. The system of claim 17, wherein theidentifying the end-of-show period for the piece of digital contentcomprises identifying a particular percent completion of playback forthe piece of digital content, the end of show period spanning atimeframe from the particular percent completion of playback of thepiece of digital content to an end of the piece of digital content. 20.The system of claim 17, wherein the identifying the end-of-show periodfor the piece of digital content comprises identifying a particular timeof playback based on electronic program guide data or metadata, the endof show period spanning a timeframe from the particular time of playbackof the piece of digital content to an end of the piece of digitalcontent.
 21. The system of claim 17, wherein the end-of-show periodcomprises a credits portion of the piece of digital content.